package com.xiaoluo.lottery.common.weixin.pay.beans;

import com.xiaoluo.lottery.common.weixin.base.BaseRes;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

/**
 * Project : lottery
 * Package : main.java.com.xiaoluo.lottery.common.weixin.pay.enums
 * Created by Willian.
 * Date  : 2016/4/6 14:38.
 */
@Root(name = "xml")
public class OrderQueryRes extends BaseRes {

    @Element(name = "openid",required = false)           private String  openid;//用户标识	openid	是	String(128)	oUpF8uMuAJO_M2pxb1Q9zNjWeS6o	用户在商户appid下的唯一标识
    @Element(name = "is_subscribe",required = false)     private String  isSubscribe;//是否关注公众账号	is_subscribe	否	String(1)	Y	用户是否关注公众账号，Y-关注，N-未关注，仅在公众账号类型支付有效
    @Element(name = "trade_type",required = false)       private String  tradeType;//交易类型	trade_type	是	String(16)	JSAPI	调用接口提交的交易类型，取值如下：JSAPI，NATIVE，APP，MICROPAY，详细说明见参数规定
    /**
         SUCCESS—支付成功
         REFUND—转入退款
         NOTPAY—未支付
         CLOSED—已关闭
         REVOKED—已撤销（刷卡支付）
         USERPAYING--用户支付中
         PAYERROR--支付失败(其他原因，如银行返回失败)
     */
    @Element(name = "trade_state",required = false)      private String  tradeState;//交易状态	trade_state	是	String(32)	SUCCESS
    @Element(name = "bank_type",required = false)        private String  bankType;//付款银行	bank_type	是	String(16)	CMC	银行类型，采用字符串类型的银行标识
    @Element(name = "total_fee",required = false)        private String  totalFee;//总金额	total_fee	是	Int	100	订单总金额，单位为分
    @Element(name = "fee_type",required = false)         private String  feeType;//货币种类	fee_type	否	String(8)	CNY	货币类型，符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型
    @Element(name = "cash_fee",required = false)         private String  cashFee;//现金支付金额	cash_fee	是	Int	100	现金支付金额订单现金支付金额，详见支付金额
    @Element(name = "cash_fee_type",required = false)    private String  cashFeeType;//现金支付货币类型	cash_fee_type	否	String(16)	CNY	货币类型，符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型
    @Element(name = "coupon_fee",required = false)       private String  couponFee;//代金券或立减优惠金额	coupon_fee	否	Int	100	“代金券或立减优惠”金额<=订单总金额，订单总金额-“代金券或立减优惠”金额=现金支付金额，详见支付金额
    @Element(name = "coupon_count",required = false)     private String  couponCount;//代金券或立减优惠使用数量	coupon_count	否	Int	1	代金券或立减优惠使用数量
    @Element(name = "coupon_batch_id_$n",required = false)private String  couponBatchId$n;//代金券或立减优惠批次ID	coupon_batch_id_$n	否	String(20)	100	代金券或立减优惠批次ID ,$n为下标，从0开始编号
    @Element(name = "coupon_id_$n",required = false)     private String  couponId$n;//代金券或立减优惠ID	coupon_id_$n	否	String(20)	10000 	代金券或立减优惠ID, $n为下标，从0开始编号
    @Element(name = "coupon_fee_$n",required = false)    private String  couponFee$n;//单个代金券或立减优惠支付金额	coupon_fee_$n	否	Int	100	单个代金券或立减优惠支付金额, $n为下标，从0开始编号
    @Element(name = "transaction_id",required = false)   private String  transactionId;//微信支付订单号	transaction_id	是	String(32)	1009660380201506130728806387	微信支付订单号
    @Element(name = "out_trade_no",required = false)     private String  outTradeNo;//商户订单号	out_trade_no	是	String(32)	20150806125346	商户系统的订单号，与请求一致。
    @Element(name = "attach",required = false)           private String  attach;//附加数据	attach	否	String(128)	深圳分店	附加数据，原样返回
    @Element(name = "time_end",required = false)         private String  timeEnd;//支付完成时间	time_end	是	String(14)	20141030133525	订单支付时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则
    @Element(name = "trade_state_desc",required = false) private String  tradeStateDesc;//交易状态描述	trade_state_desc	是	String(256)	支付失败，请重新下单支付	对当前查询订单状态的描述和下一步操作的指引



    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getIsSubscribe() {
        return isSubscribe;
    }

    public void setIsSubscribe(String isSubscribe) {
        this.isSubscribe = isSubscribe;
    }

    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public String getTradeState() {
        return tradeState;
    }

    public void setTradeState(String tradeState) {
        this.tradeState = tradeState;
    }

    public String getBankType() {
        return bankType;
    }

    public void setBankType(String bankType) {
        this.bankType = bankType;
    }

    public String getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(String totalFee) {
        this.totalFee = totalFee;
    }

    public String getFeeType() {
        return feeType;
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }

    public String getCashFee() {
        return cashFee;
    }

    public void setCashFee(String cashFee) {
        this.cashFee = cashFee;
    }

    public String getCashFeeType() {
        return cashFeeType;
    }

    public void setCashFeeType(String cashFeeType) {
        this.cashFeeType = cashFeeType;
    }

    public String getCouponFee() {
        return couponFee;
    }

    public void setCouponFee(String couponFee) {
        this.couponFee = couponFee;
    }

    public String getCouponCount() {
        return couponCount;
    }

    public void setCouponCount(String couponCount) {
        this.couponCount = couponCount;
    }

    public String getCouponBatchId$n() {
        return couponBatchId$n;
    }

    public void setCouponBatchId$n(String couponBatchId$n) {
        this.couponBatchId$n = couponBatchId$n;
    }

    public String getCouponId$n() {
        return couponId$n;
    }

    public void setCouponId$n(String couponId$n) {
        this.couponId$n = couponId$n;
    }

    public String getCouponFee$n() {
        return couponFee$n;
    }

    public void setCouponFee$n(String couponFee$n) {
        this.couponFee$n = couponFee$n;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getAttach() {
        return attach;
    }

    public void setAttach(String attach) {
        this.attach = attach;
    }

    public String getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(String timeEnd) {
        this.timeEnd = timeEnd;
    }

    public String getTradeStateDesc() {
        return tradeStateDesc;
    }

    public void setTradeStateDesc(String tradeStateDesc) {
        this.tradeStateDesc = tradeStateDesc;
    }
}
